package com.project.dao;

import com.project.bean.UserBean;

import java.time.LocalDate;
import java.util.List;

public interface UserDao {
    /**
     * 添加用户
     * @param userBean 添加用户对象
     */
    public void add(UserBean userBean);

    /**
     * 按id删除用户
     * @param id 用户id
     */
    public void del(int id);

    /**
     * 按id修改用户等级和密码
     * @param id 用户id
     * @param password 用户密码
     * @param grade  用户等级
     */
    public void update(int id,String password,String grade);


    /**
     * 查询所有用户
     * @return用户集合
     */
    public List<UserBean> findAll();

    /**
     * 按ID查询用户
     * @param id 用户id
     * @return 用户对象
     */
    public UserBean findById(int id);

    /**
     * 按姓名查询用户
     * @param name 用户姓名
     * @return  用户集合
     */
    public List<UserBean> findByName(String name);

    /**
     * 按生日起始查询用户
      * @param date 用户生日
     * @return 用户集合
     */
    public List<UserBean> findByDate(String date,String date1);

    /**
     * 按用户等级查询用户
     * @param Grade 用户等级
     * @return  用户集合
     */
    public List<UserBean> findByGrade(String Grade);

    /**
     * 按登陆查询
     * @return
     */
    public UserBean finByLang(String name ,String password);

    /**
     * 动态条件查询
     * @param name 用户名
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @return
     */
    public List<UserBean> findByItem(String name, LocalDate startDate,LocalDate endDate);
 }
